(function ($) {
    $.fn.funcPop = function (options) {


        var defaults = {
            animation: 'fadeAndPop', //fade, fadeAndPop, none
            animationspeed: 300, //how fast animtions are
            closeonbackgroundclick: true, //if you click background will modal close?
            dismissmodalclass: 'close-popup' //the class of a button or element that will close an open modal
        };

        var options = $.extend({}, defaults, options);

        return this.each(function () {
            var modal = $(this),
        		topMeasure = parseInt(modal.css('top')),
				topOffset = modal.height() + topMeasure,
          		locked = false,
				modalBG = $('.background');

            if (modalBG.length == 0) {
                modalBG = $('<div class="background" />').insertAfter(modal);
            }
            modal.bind('funcPop:open', function () {
                modalBG.unbind('click.modalEvent');
                $('.' + options.dismissmodalclass).unbind('click.modalEvent');
                if (!locked) {
                    lockModal();
                    if (options.animation == "fadeAndPop") {
                        modal.css({ 'top': $(document).scrollTop() - topOffset, 'opacity': 0, 'visibility': 'visible' });
                        modalBG.fadeIn(options.animationspeed / 2);
                        modal.delay(options.animationspeed / 2).animate({
                            "top": $(document).scrollTop() + topMeasure + 'px',
                            "opacity": 1
                        }, options.animationspeed, unlockModal());
                    }
                    if (options.animation == "fade") {
                        modal.css({ 'opacity': 0, 'visibility': 'visible', 'top': $(document).scrollTop() + topMeasure });
                        modalBG.fadeIn(options.animationspeed / 2);
                        modal.delay(options.animationspeed / 2).animate({
                            "opacity": 1
                        }, options.animationspeed, unlockModal());
                    }
                    if (options.animation == "none") {
                        modal.css({ 'visibility': 'visible', 'top': $(document).scrollTop() + topMeasure });
                        modalBG.css({ "display": "block" });
                        unlockModal()
                    }
                }
                modal.unbind('funcPop:open');
            });

            modal.bind('funcPop:close', function () {
                if (!locked) {
                    lockModal();
                    if (options.animation == "fadeAndPop") {
                        modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                        modal.animate({
                            "top": $(document).scrollTop() - topOffset + 'px',
                            "opacity": 0
                        }, options.animationspeed / 2, function () {
                            modal.css({ 'top': topMeasure, 'opacity': 1, 'visibility': 'hidden' });
                            unlockModal();
                        });
                    }
                    if (options.animation == "fade") {
                        modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                        modal.animate({
                            "opacity": 0
                        }, options.animationspeed, function () {
                            modal.css({ 'opacity': 1, 'visibility': 'hidden', 'top': topMeasure });
                            unlockModal();
                        });
                    }
                    if (options.animation == "none") {
                        modal.css({ 'visibility': 'hidden', 'top': topMeasure });
                        modalBG.css({ 'display': 'none' });
                    }
                }
                modal.unbind('funcPop:close');
            });

            modal.trigger('funcPop:open')

            //Close Modal Listeners
            var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () {
                modal.trigger('funcPop:close')
            });

            if (options.closeonbackgroundclick) {
                modalBG.css({ "cursor": "pointer" })
                modalBG.bind('click.modalEvent', function () {
                    modal.trigger('funcPop:close')
                });
            }
            $('body').keyup(function (e) {
                if (e.which === 27) { modal.trigger('funcPop:close'); } // 27 is the keycode for the Escape key
            });

            function unlockModal() {
                locked = false;
            }
            function lockModal() {
                locked = true;
            }

        });//each call
    }//orbit plugin call
})(jQuery);

/*****************************************************************************************************************************/
/*****************************************************************************************************************************/
function openPopupLogin() {
    var dheight = document.body.clientHeight;
    var dwidth = document.body.clientWidth;
    $("#wallpaper").width(dwidth).height(dheight);
    $("#wallpaper").fadeTo("slow", 0.8);
    var pop = $("#login_register");
    pop.css("top", (dheight - pop.height()) / 4);
    pop.css("left", (dwidth - pop.width()) / 2);

    pop.fadeIn();
}
function closePopupLogin() {
    $("#wallpaper").fadeOut();
    $(".pop_content").hide();
}
///